The following are documents that I've found useful, or just found, while porting NetBSD to DEC's Alpha-based workstations. It is in no way meant to be be complete, or even useful to you. However, I hope that it is. If you've additions or corrections, send them to me at cgd@NetBSD.ORG. (NOTE: This page should be updated to note the Alpha documentation available from NetBSD FTP sites.)
The documents that are provided here in machine-usable form are undoubtedly copyright by Digital Equipment Corp., but I've been told that I can do whatever I want with them, including give out copies to the world. Note that many, if not all, of the documents presented here in PostScript form can be found at DEC's WWW server. I provide them here for easy reference.
The document list is sorted by DEC part number, with all of the docs for which I don't have a DEC part number at the bottom in alphabetical order by title. The DEC part number for the manual is listed if known, along with any other useful information I might have about the document. Next is the official description of the document, if I'm aware of one. Finally, for some of the documents (mostly, the ones I've actually read), I've included some comments of my own.
If a document's name (at the start of the document's description) is a hypertext link, the link points to a gzipped PostScript version of the document. The size of the gzipped PostScript version is listed before the part number, below the name. A link in body of a description will take you to the description of the document named by the link.
And now, the docs themselves:
This manual describes the assembly language supported by the DEC OSF/1 Alpha AXP compiler systems, its syntax rules, and how to write some assembly programs.
My comments: A more anal-retentive assembly language manual than the Alpha Architecture Reference Manual, though, in my opinion, less usable. Told me how the division/remainder stubs were called. Has lots of information about DEC Alpha ECOFF file formats and in-memory layouts, but not enough information about all Alpha ECOFF sections (e.g. the exception handling information sections). Mostly useful if you're hacking OSF/1 object files.
The DEC OSF/1 Calling Standard for AXP Systems defines the requirements, mechanisms, and conventions used in the DEC OSF/1 interface that support procedure calls for DEC OSF/1 on AXP systems.
My comments: Not particularly useful, but good to have if you think the compiler's generating hokey code. Talks about calling conventions, stack frames and unwinding, OSF/1 exception handling, etc.
Data Sheet for 150, 166, 200 MHz versions of the chip.
Describes the evaluation board for systems based on the DECchip 21064 or DECchip 21064A microprocessor.
My comments: Description (hardware and programming information) of the EB64+. Includes basic description of how to use the 21071 chipset (see DECchip 21071 and DECchip 21072 Core Logic Data Sheet for more information) and the various built-in peripherals. The EB64+ is 21064- or 21064A-based, and this document is a good jumping-off point for PCI Alpha OS development, at least for those boxes that use a 21064 or 21064A CPU combined with the 21071 or 21072 chipsets. (It does not cover programming information for the DECchip 21066 and 21068 PCI interfaces.)
This guide explains how to use the Privileged Architecture Library code (PALcode) to customize DECchip 21064, 21064A, 21066, and 21068 components to meet a variety of hardware and software application needs.
My comments: Thin, but interesting. Details important-to-know facts about handling machine-checks (using the MCES IPR), and about switching PALcode.
My comments: Contains (apparently) all of the necessary information for writing a device driver for the DEC "TGA" 21030-based PCI video board. Interesting notes about the TGA: it's the new implementation of the SFB (a.k.a. PMAGB-BA), and it has no VGA emulation (apparently VGA mode isn't necessary for NT use, and not having it saves 12,000 gates).
My comments: Contains (apparently) all of the necessary information for writing a device driver for the DEC "Tulip" 21040-based PCI ethernet board.
Contains pin-to-model reference tables for the DECchip 21030, DECchip 21040, DECchip 21050, DECchip 21064, DECchip 21064A, DECchip 21066 and DECchip 21068, and DECchip 21071 and DECchip 21072.
My comments: Describes (in detail) the DECchip 21071 and 21072 chipsets used in some of the DEC PCI Alphas (in particular, those that use the 21064 or 21064A CPU with this chipset; not those that use the 21066 or 21068 CPU). Broken up into three parts, each describing one of the three types of chips in each chipset. Most interesting for PCI Alpha OS development is the description of the 21071-DA, which is the PCI interface controller.
This guide give programming reference information for the KN121 system module.
My comments: The description of the manual, above, is about as clear as this manual gets in some places. The KN121 is the DECpc AXP 150 EISA-bus workstation, a.k.a. the DEC 2000/300. It's somewhat ironic that this manual (freshly ordered) is only "Preliminary" (marked as such on every page!), but the hardware it describes was discontinued over a year ago. There are many figures missing, but this manual appears to provide the essential programming information for the DECpc AXP systems, including a description of the on-board devices, I/O addresses, and interrupt control system. A must-have if you're porting an OS to or writing an OS for the DECpc AXP systems.
This manual describes the behavior of the DEC 3000 AXP architecture as it pertains to writing system-level software, such as operating systems and drivers.
This manual describes the behavior of the 300, 300L, 300X, 300LX, 400, 400S, 500, 500S, 500X, 600, 600S, 700, 800, 800S, and 900 models.
My comments: So many models, so few ways to tell them apart! Or at least, so few are documented by this manual. For that, apparently the Alpha AXP System Reference Manual has more information, but it's unavailable. This book tells the nitty gritty details about the DEC 3000 family: what hardware the machines have, where and how to talk to it, how the boot process works, what's in the PROMs, and so on. Of course, some information is unclear, some is missing, and some is just plain wrong; life is tough for a system hacker. Mandatory if you're going to be writing an OS for or porting an OS to the DEC 3000 family.
This is the authoritative reference on the new 64-bit RISC architecture of Digital Equipment Corporation. Written by the engineers who developed the Alpha specifications, this book contains complete descriptions of the common architecture required for all implementations and the interface required to support the OSF/1 and OpenVMS operating systems.
My comments: A bit out of date, especially when discussing PAL ECO's. The PALcode for Alpha AXP Microprocessors document helps make up for this, though. The treatment of interrupt and machine check handling is sorely lacking, and many hidden assumptions are never revealed. Good (canonical) description of the instruction set. A must-have for any low-level Alpha hacker.